昨天介紹邏輯運算子後,今天就來談談流程控制的部分。
JavaScript 控制流程的條件語法有兩種:
第一種 if else 語法如下
if (條件式) {
// 條件式成立會執行這邊的程式碼
} else {
// 否則執行 else 這邊的程式碼
// else 可以有也可以沒有
}
條件式也不是只有限制一個,可以使用 else if 來新增條件
if (條件式) {
// 條件式成立會執行這邊的程式碼
} else if (條件 2) {
// ...
} else {
// 否則執行 else 這邊的程式碼
// else 可以有也可以沒有
}
else if 沒有數量上的限制,不過為了程式碼可讀和維護,還會是會盡量壓低 else if 的數量。
第二種 switch
當你需要很多條件式的時候,可能會寫到很多 else if 但是這邊使用 switch 來寫的話,就可以大大增加可讀性以及維護性。 語法如下
switch (fruitType) {
case 'Oranges':
alert('Oranges');
break;
case 'Apples':
alert('Apples');
break;
case 'Mangoes':
alert('Mangoes');
break;
case 'Papayas':
alert('Papayas');
break;
default:
alert('沒有符合的條件');
}
上面的例子,如果 fruitType 變數是 Apples,則會執行 case 'Apples' 區塊的程式碼;如果 fruitType 變數的值是 Mangoes,則會執行 case 'Mangoes' 區塊的程式碼;如果 fruitType 的值都不在指定的 case 裡面,則執行 default 區塊的程式碼。
也可以省略 default 區塊,表示如果找不到相符的 case,則跳過整個 switch 區塊什麼不執行。
注意:在上面你有看到我們用了 break,那 break 的用途是什麼呢?當 JavaScript 執行到 break 這個關鍵字的時後,就會直接跳出整個 switch 區塊,繼續往下執行。
而如果沒有 break 則程式會從符合的 case 區塊開始,一路往下執行到遇到 break 為止!
JavaScript 流程控制 (Control flow)